package com.itheima.reggie.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

//订单
@ApiModel("订单")
@Data
@TableName("orders")
public class Order implements Serializable {

    @ApiModelProperty("主键")
    private Long id;//主键

    @ApiModelProperty("订单号")
    private String number; //订单号

    @ApiModelProperty("订单状态")
    private Integer status;//订单状态 1待付款，2待派送，3已派送，4已完成，5已取消

    @ApiModelProperty("下单用户id")
    private Long userId;//下单用户id

    @ApiModelProperty("地址id")
    private Long addressId;//地址id

    @ApiModelProperty("下单时间")
    private Date orderTime;//下单时间

    @ApiModelProperty("结账时间")
    private Date checkoutTime;//结账时间

    @ApiModelProperty("支付方式")
    private Integer payMethod;//支付方式 1微信，2支付宝

    @ApiModelProperty("实收金额")
    private BigDecimal amount;//实收金额

    @ApiModelProperty("备注")
    private String remark; //备注

    @ApiModelProperty("用户名")
    private String userName;//用户名

    @ApiModelProperty("手机号")
    private String phone;//手机号

    @ApiModelProperty("地址")
    private String address;//地址

    @ApiModelProperty("收货人")
    private String consignee;//收货人

    @ApiModelProperty("支付地址")
    @TableField(exist = false)
    private String payUrl;//支付地址

    @ApiModelProperty("订单详情")
    @TableField(exist = false)  //订单详情
    private List<OrderDetail> orderDetails = new ArrayList<>();
}